package org.shuma.user.facade;

import org.shuma.user.utils.Result;
import org.shuma.user.vo.AuthVo;
import org.shuma.user.vo.UserVo;

/**
 * @author : liuming
 * @date : 2024/6/17 下午8:55
 */
public interface UserFacade {
    Result<UserVo> getUserInfoByToken(String token);

    Result<UserVo> getUserInfoById(Long id);
    /**
     * 发送验证码
     *
     * @param email 邮箱
     */
    Result sendVerifyCode(String email);


    Result login(AuthVo auth);

    Result logout(String token);

    Result register(AuthVo auth);




    /**
     * 获取新token
     *
     * @param token token
     */
    Result getNewToken(String token);

    Result updatePassword(AuthVo auth);

    Result<UserVo> getUserByUserName(String userName);
}
